package cn.catsdad.service.api;

import cn.catsdad.base.service.api.IBaseCrudService;
import cn.catsdad.dto.DictDetailDTO;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 常量明细service
 *
 * @author xuyonglong
 * @version V1.0 2023/4/24
 */
public interface DictDetailService extends IBaseCrudService<DictDetailDTO, Long> {

    /**
     * 查询常量下的明细
     *
     * @param dictIds 常量id集合
     * @return 常量明细数据
     */
    Map<Long, List<DictDetailDTO>> queryDetailByDictIds(Collection<Long> dictIds);

    /**
     * 根据字典id查询
     *
     * @param dictIds 字典id集合
     * @return 详情
     */
    List<DictDetailDTO> queryByDictIds(Collection<Long> dictIds);

    /**
     * 根据常量id删除数据
     *
     * @param dictIds 常量id集合
     */
    void deleteByDictIds(Collection<Long> dictIds);

    /**
     * 根据父级id查询
     *
     * @param dictId 父级id
     * @return 常量详情
     */
    List<DictDetailDTO> queryByDictIdAndIsDeletedFalse(Long dictId);

}
